The invention relates to the field of electronic assemblies. More particularly, the invention relates to a method and device, or network of devices, for self-testing of electronic assemblies for quality control in manufacturing, as well as for ongoing in-situ testing and reporting.
The manufacture of electronic assemblies is expanding yearly, providing a large variety of industrial and consumer goods. A critical factor for many manufacturing processes is the testing of manufactured goods. In order to improve the performance and quality of manufactured goods, manufacturing engineers often specify testing procedures, which are passed on to test engineers at a manufacturing facility to implement adequate tests to ensure to quality of manufactured goods. Test equipment for sensitive analog and digital circuits typically includes complex external control and monitoring hardware. For many manufacturing facilities, the testing process proves to be difficult, and is often inconsistent.
In prior art manufacturing systems, typically where testing is done by a technician, an assembly unit failing one or more tests may quickly be diverted to a reject area. Comprehensive information regarding the functional status of all components and circuitry is commonly missed. While the technician may manually tag one faulty component within an assembly, the identification of other faulty systems may be missed, or may not be properly identified. Even if a single faulty component or circuit of a rejected assembly is fixed, the unit may still have numerous circuits that have not been adequately tested. In a manufacturing facility wherein testing is manually provided by technicians, or controlled externally to the device by technicians, a basic tagging and diversion of faulty assemblies as soon as a defect is detected may be sufficient, since the cost of manual labor by technicians can be high.
B. Kennedy, Distributed Multi-Processor Boot System for Booting Each Processor in Sequence Including Watchdog Timer for Resetting Each CPU if It Fails to Reboot, U.S. Pat. No. 5,450,576 (Sep. 12, 1995) discloses a system for coordinating xe2x80x9cinitialization and self-test operations in a multiprocessor systemxe2x80x9d, which xe2x80x9cfacilitates the use of central processing units based around different microprocessor typesxe2x80x9d. Kennedy discloses storing xe2x80x9cconfiguration information, initialization self-test code, and boot code specific to each processor, memory module, or I/O circuit board in non-executable form in a non-volatile memory, and storing the executable portion of the code needed by the initial boot processor in a centrally accessible non-volatile memoryxe2x80x9d. While Kennedy discloses a system for coordinating basic initialization and self-test operations in a multiprocessor system, the system does not gather and store readable information regarding individual components, nor does it retrievably store the results of self-testing internally. As well, Kennedy fails to disclose self-testing of output and input signals through loopback circuitry, nor does he disclose a security architecture for access to stored information.
B. Kennedy, Booting of Multi-Processor System from a Boot ROM of Narrower Width than the System Memory, U.S. Pat. No. 5,659,748 (Aug. 19, 1997) discloses a system for coordinating xe2x80x9cinitialization and self-test operations in a multiprocessor systemxe2x80x9d, which xe2x80x9cfacilitates the use of central processing units based around different microprocessor typesxe2x80x9d. Kennedy discloses storing xe2x80x9cconfiguration information, initialization self-test code, and boot code specific to each processor, memory module, or I/O circuit board in non-executable form in a non-volatile memory, and storing the executable portion of the code needed by the initial boot processor in a centrally accessible non-volatile memoryxe2x80x9d. While Kennedy discloses a system for coordinating basic initialization and self-test operations in a multiprocessor system, the system does not gather and store readable information regarding individual components, nor does it retrievably store the results of self-testing internally. As well, Kennedy fails to disclose self-testing of output and input signals through loopback circuitry, nor does he disclose a security architecture for access to stored information.
J. Brown and D. Bhavsar, Architecture for System-Wide Standardized Intra-Module and Inter-Module Fault Testing, U.S. Pat. No. 5,627,842 (May 6, 1997) disclose an xe2x80x9cApparatus and method for hierarchical, centralized boundary-scan fault-testing of extended electronic circuits, including inter-board testing, within a unified, standard protocol. During this testing, each board is xe2x80x9cviewablexe2x80x9d from the central test control in the same way that it is viewable when standing alone, before being incorporated into an extended systemxe2x80x9d. While Brown et al. disclose standardized hierarchal system testing, they fail to disclose internal gathering and storage of readable information regarding individual components, nor do they disclose the retrievable storage of self-test results internally to the assembly. As well, Brown et al. fail to disclose self-testing of output and input signals through loopback circuitry, nor do they disclose a security architecture for limited access to stored information.
F. Warren, H. Crisler, R. Jacobson, C. Kim, and E. Llewellyn, In-Circuit Testing System, U.S. Pat. No. 4,791,356, Dec. 13, 1988, disclose xe2x80x9cAn in-circuit test system having means to stimulate the device-under-test at any desired electrical node of the device, means to record the device""s response waveform at any node, means to edit the response waveform, and means to use the edited waveform to restimulate the same device in a subsequent in-circuit test.xe2x80x9d
M. Rutenberg, Method and System for Improving the Operational Reliability of Electronic Systems Formed of Subsystems Which Perform Different Functions, U.S. Pat. No. 4,740,887 (Apr. 26, 1988) discloses a method and system xe2x80x9cfor improving the reliability of an electronic system formed of subsystems which perform different functionsxe2x80x9d, whereby an xe2x80x9celectronic system is analyzed to determine which of the subsystems is most likely to cause a system failure and these subsystems are targeted for monitoring and/or correctionxe2x80x9d by an microcontroller unit which is not part of the electronic system. The external microcontroller unit xe2x80x9cmonitors the inputs and outputs of the targeted subsystems and determines when an output is inappropriate for the corresponding input. When an error is detected, an error code is stored in memory for future reference. When the microcontroller is in a correcting mode, open collector drivers are used to make corrections for an error in a digital outputxe2x80x9d. While Rutenberg discloses the testing of an electronic system, and the storage of detected errors, Rutenberg fails to disclose the self-testing and test result storage within the electronic system itself. As well, Rutenberg fails to disclose the self-testing of output and input signals through loopback circuitry, or a security architecture for limited access to stored information.
V. Kadakia, C. Holt, and R. Moore, Digital Circuit Module Test System, U.S. Pat. No. 4,000,460 (Dec. 28, 1976), disclose an apparatus for xe2x80x9cautomatic production testing of large digital circuit modulesxe2x80x9d, whereby a xe2x80x9ctest station, under computer control, applies test bit patterns and clock pulses to the module under test, analyzes the resultant outputs, and isolates any fault found to one or several IC""s. The test station contains power supplies and air cooling for the module, and a keyboard display and printer for use by the test operator. Test programs are developed off-line and are loaded from magnetic tape into a disk pack where they are available to the computerxe2x80x9d. While Kadakia et al. disclose an apparatus for the production testing of large digital circuit modules, testing is controlled externally to each circuit module, and does not gather and store readable information regarding individual components. As well, tested circuit modules do not retrievably store the results of self-testing internally. In addition, Kadakia et al. fail to disclose self-testing of output and input signals through loopback circuitry, nor do they disclose a security architecture for access to stored information.
It would also be advantageous to provide a secure communication channel for the transfer of information between an electronic assembly and an external source after preliminary testing, such as during in-situ operation of the electronic assembly. A central problem of all secure communications is the secure distribution of security keys to the communicating parties. The creation of a secure communication channel requires that parties to the communication each have a copy of an appropriate security key, such as to establish communication, or to decrypt communication information.
Currently, the distribution of security keys is commonly accomplished through separate channels. For example, security keys may be sent through regular surface mail, or spoken over a telephone connection. Such distribution is undesirable, and is impractical for broad consumer-oriented electronic assemblies, such as for distributed television viewing systems.
An alternative mechanism for the distribution of security keys uses a xe2x80x9csmart cardxe2x80x9d technology, wherein a small microcontroller is embedded, such as on a business-card sized package. The microcontroller stores the key in a secure memory, and provides a communication protocol for authenticating and decrypting messages. Such a mechanism is unsatisfactory, due to unreliability of physical connections for communication, ease of attack on the security protocol, ease of duplication, and the lack of security for internal operations, such as for access to internal storage devices.
The development of a manufacturing system wherein all testing is automatically performed internally to the assembly being tested, without technician intervention, and wherein all detected defects are captured by the assembly being tested, and are logged internally to the device, would constitute a major technological advance. The further development of such a device which can also retrievably store readable information regarding individual components, and provide on-going in-situ operation parameters and self-testing and retrievably store the test results would constitute a further technological advance. In addition, the development of a secure method for security key distribution between an electronic assembly and an external source would constitute a further technological advance.
A self-test electronic assembly performs self-testing, such as diagnostic or run-in testing of components and circuits, based upon internally stored test procedures. The results of self-testing are stored internally to the device, providing information regarding the self-test electronic assembly, both during the manufacturing process, and preferably for ongoing in-situ operation. A test system is preferably linked to one or more self-test electronic assemblies, and provides loopback circuitry for each installed self-test electronic assembly, whereby the self-test electronic assemblies can further test components, circuitry, and security encoding and decoding operation. The preferred test rack also provides efficient and consistent monitoring and quality control over the self-testing of self-test electronic assemblies. During in-situ operation, the self-test electronic assemblies preferably monitor operating parameters, and continue to periodically perform self-testing, while storing the information within the device, and preferably transmitting the information to an external location.